A variety of computer systems and electronic devices use memory that is not volatile, or does not lose the data it has stored when power is disconnected. These nonvolatile memories can be reprogrammed, read, and erased electronically, and are well suited to storing data such as music in digital audio players, pictures in digital cameras, and configuration data in cellular telephones. Such memory includes devices commonly known as flash memory, named in part because a flash operation is used to erase the content of a block of data before it is reprogrammed, and is packaged for consumer use in products such as CompactFlash memory cards, USB flash memory drives, and other such devices.
Flash memory comprises a number of cells, each of which typically stores a single binary digit or bit of information. A typical flash memory cell comprises a field effect transistor having an electrically isolated charge storage structure such as a floating gate or charge trap that controls electrical conduction between source and drain regions of the memory cell. Data is represented by a charge stored on the charge storage structure, and the resulting change in conductivity observed between the source and drain regions.
The charge storage structure separates a control gate from the source and drain regions of the memory cell. Electrons stored on the charge storage structure are insulated from the control gate and the drain and source by an insulating oxide layer partially cancel out or modify an electric field produced by the control gate, resulting in a change in the effective threshold voltage (Vt) of the memory cell. When the memory cell is read by placing a specified voltage on the control gate, the electrical impedance between the source and drain of the device will either allow or not allow current to flow, depending on the presence of a charge on the charge storage structure and the effective Vt or threshold voltage of the memory cell. The presence or absence of current above a threshold level can be sensed, and used to determine a programmed state of the memory cell, resulting in a particular data value such as a one or zero value being read.
Some flash memory cells can store more than a single bit of information per cell by using multiple threshold voltages in programming and reading the flash memory cell, and are often referred to as multi-level memory cells. For example, a multi-level memory cell having three different threshold voltages can be programmed to be in any of four states, thereby storing two bits of data per cell and doubling the amount of data that can be stored in the memory cell.
Memory cells are typically arranged in a two-dimensional array of rows and columns, where the rows are coupled via an access line, often called a wordline, and the columns are coupled via a data line, often called a bitline. The wordlines and bitlines are used during data read and write functions to either select certain memory cells for reading or to select words and bits for writing or programming. During such read and write functions, factors such as induced electric or magnetic fields, capacitive coupling, and finite resistance of the conductors as well as insulators can cause unwanted coupling or interference between bitlines and wordlines.
The memory cells themselves are further subject to the resistance and capacitance of the bitlines and wordlines coupled to the memory cell for proper operation and communication with a memory controller. Device features, such as variation in the oxide layer thickness between the charge storage structure and the conduction region between the source and drain can also cause variation in the threshold voltage and other operating parameters of such a memory cell. Also, close physical proximity of memory cells in the memory array can result in coupling between charge storage structures, further influencing the operation of the memory cells. Factors such as these can be even more significant in multi-level flash memories having more than one threshold voltage per memory cell, as the difference between different data states becomes harder to accurately discern as the number of different states increases.